跳到主要内容

计算机网络概述

定义

计算机网络就是互连的,自治的计算机集合。

  • 自治指的是计算机之间无主从关系,每一台计算机自身都可以自己完成一些功能
  • 互连指的是计算机之间是互相连通的

而**因特网(Internet)**就是最大的计算机网络

接下来有几个由此引申出来的问题

问题一:如何实现互连

1. 最简单的方式就是利用链路直接将两台主机进行连接

此时需要的线路数量(M)与需要进行连接的主机数量(N)之间的关系是:

M=N×(N1)×(N2)×1M = N\times(N-1)\times(N-2)\ldots\times1

那么,当主机的数量变大的时候,需要的线路数量会是主机数量的阶乘,这是很大的数量级,况且在主机相距较远的时候,就会需要很长的链路,这种实现方式在大规模网络中显然不适用。

2. 通过交换节点实现交换网络

利用交换机可以形成一个网络,利用路由器可以实现网络之间的互联

swap-network

问题二:互连之后,仅有硬件是否可以实现功能

答案是否定的,可以试想一下,当我们将两台计算机通过交换网络相互连接之后,两台计算机之间该如何通信呢,以什么信号进行通信,通信的顺序,当接收到一串二进制数的时候,哪里是一个数据的开始,哪里是一个数据的结束。这些问题都需要进行规定。

那么,我们该通过什么进行规定呢?

答案就是协议,我们通过通信双方都执行相同协议来识别数据。

协议规定了:语义,语法,时序

问题三:该如何实现通信?

我们前两个问题讨论的是计算机之间通信的前提:通过交换网络相连,通过协议规定计算机之间通信的规则。

那么我们下一步该思考的是:在交换网络中,该如何真正地实现通信的过程

答案是信息交换